package com.drakulo.hi.logic.actions;

import com.dk.hi.core.exceptions.HIException;

/**
 * <b>An actor's action</b>
 * <p>
 * An <code>Action</code> is a modification of a game element. It can be heroes'
 * lineaments, items, NPC's movement, etc... Those action are mostly used by
 * <code>MapActor</code> when player interract with them. However,
 * <code>Action</code> can be used in a global way as a batch (ie for weather).
 * </p>
 */
public interface Action {
	/**
	 * <p>
	 * Lunch the action
	 * </p>
	 * <strong>Warning</strong><br>
	 * <p>
	 * Blocking actions must be handled specifically
	 * </p>
	 * 
	 * @throws HIException
	 */
	public void run() throws HIException;
}
